﻿Option Explicit On
Option Strict On

Imports System.ServiceModel
Imports System.Runtime.Serialization

Namespace Framework.Hardware

    ''' <summary>
    ''' Represents the current UI State independant of the UI it's self
    ''' </summary>
    ''' <remarks></remarks>
    <DataContract()> _
    Public Class UIState

#Region " Private Members "

        Private m_Connect_Enabled As Boolean = True
        Private m_Disconnect_Enabled As Boolean = False
        Private m_OperateStandby_Enabled As Boolean = False
        Private m_OnOff_Enabled As Boolean = False
        Private m_Antenna0_Enabled As Boolean = False
        Private m_Antenna1_Enabled As Boolean = False
        Private m_Antenna2_Enabled As Boolean = False
        Private m_Antenna3_Enabled As Boolean = False
        Private m_Antenna4_Enabled As Boolean = False
        Private m_Antenna5_Enabled As Boolean = False
        Private m_Antenna6_Enabled As Boolean = False
        Private m_Antenna7_Enabled As Boolean = False
        Private m_Antenna8_Enabled As Boolean = False
        Private m_Antenna9_Enabled As Boolean = False
        Private m_StartMeasuring_Enabled As Boolean = False
        Private m_StopMeasuring_Enabled As Boolean = False
        Private m_MetricASelection_Enabled As Boolean = False
        Private m_MetricBSelection_Enabled As Boolean = False

#End Region

#Region " Public Properties "

        <DataMember()> _
        Public Property ConnectEnabled As Boolean
            Get
                Return m_Connect_Enabled
            End Get
            Set(ByVal value As Boolean)
                m_Connect_Enabled = value
            End Set
        End Property

        <DataMember()> _
        Public Property DisconnectEnabled As Boolean
            Get
                Return m_Disconnect_Enabled
            End Get
            Set(ByVal value As Boolean)
                m_Disconnect_Enabled = value
            End Set
        End Property

        <DataMember()> _
        Public Property OperateStandbyEnabled As Boolean
            Get
                Return m_OperateStandby_Enabled
            End Get
            Set(ByVal value As Boolean)
                m_OperateStandby_Enabled = value
            End Set
        End Property

        <DataMember()> _
        Public Property OnOffEnabled As Boolean
            Get
                Return m_OnOff_Enabled
            End Get
            Set(ByVal value As Boolean)
                m_OnOff_Enabled = value
            End Set
        End Property

        <DataMember()> _
        Public Property Antenna0Enabled As Boolean
            Get
                Return m_Antenna0_Enabled
            End Get
            Set(ByVal value As Boolean)
                m_Antenna0_Enabled = value
            End Set
        End Property

        <DataMember()> _
        Public Property Antenna1Enabled As Boolean
            Get
                Return m_Antenna1_Enabled
            End Get
            Set(ByVal value As Boolean)
                m_Antenna1_Enabled = value
            End Set
        End Property

        <DataMember()> _
        Public Property Antenna2Enabled As Boolean
            Get
                Return m_Antenna2_Enabled
            End Get
            Set(ByVal value As Boolean)
                m_Antenna2_Enabled = value
            End Set
        End Property

        <DataMember()> _
        Public Property Antenna3Enabled As Boolean
            Get
                Return m_Antenna3_Enabled
            End Get
            Set(ByVal value As Boolean)
                m_Antenna3_Enabled = value
            End Set
        End Property

        <DataMember()> _
        Public Property Antenna4Enabled As Boolean
            Get
                Return m_Antenna4_Enabled
            End Get
            Set(ByVal value As Boolean)
                m_Antenna4_Enabled = value
            End Set
        End Property

        <DataMember()> _
        Public Property Antenna5Enabled As Boolean
            Get
                Return m_Antenna5_Enabled
            End Get
            Set(ByVal value As Boolean)
                m_Antenna5_Enabled = value
            End Set
        End Property

        <DataMember()> _
        Public Property Antenna6Enabled As Boolean
            Get
                Return m_Antenna6_Enabled
            End Get
            Set(ByVal value As Boolean)
                m_Antenna6_Enabled = value
            End Set
        End Property

        <DataMember()> _
        Public Property Antenna7Enabled As Boolean
            Get
                Return m_Antenna7_Enabled
            End Get
            Set(ByVal value As Boolean)
                m_Antenna7_Enabled = value
            End Set
        End Property

        <DataMember()> _
        Public Property Antenna8Enabled As Boolean
            Get
                Return m_Antenna8_Enabled
            End Get
            Set(ByVal value As Boolean)
                m_Antenna8_Enabled = value
            End Set
        End Property

        <DataMember()> _
        Public Property Antenna9Enabled As Boolean
            Get
                Return m_Antenna9_Enabled
            End Get
            Set(ByVal value As Boolean)
                m_Antenna9_Enabled = value
            End Set
        End Property

        <DataMember()> _
        Public Property StartMeasuringEnabled As Boolean
            Get
                Return m_StartMeasuring_Enabled
            End Get
            Set(ByVal value As Boolean)
                m_StartMeasuring_Enabled = value
            End Set
        End Property

        <DataMember()> _
        Public Property StopMeasuringEnabled As Boolean
            Get
                Return m_StopMeasuring_Enabled
            End Get
            Set(ByVal value As Boolean)
                m_StopMeasuring_Enabled = value
            End Set
        End Property

        <DataMember()> _
        Public Property MetricASelectionEnabled As Boolean
            Get
                Return m_MetricASelection_Enabled
            End Get
            Set(ByVal value As Boolean)
                m_MetricASelection_Enabled = value
            End Set
        End Property

        <DataMember()> _
        Public Property MetricBSelectionEnabled As Boolean
            Get
                Return m_MetricBSelection_Enabled
            End Get
            Set(ByVal value As Boolean)
                m_MetricBSelection_Enabled = value
            End Set
        End Property

#End Region

    End Class

End Namespace